package com.jymj.entity.landmanage;

import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * Created by ${lc} on 2021/1/11. 月报实体
 */
@Data
public class RjhjReport {
    private String zhen;
    private String code;
    private Integer zwts;//总问题数
    private Integer jbjss;//接诉即办
    private Integer ljwt;//垃圾问题数
    private Integer wswt;//污水问题数
    private Integer gcwt;//公厕问题数
    private Integer hcwt;//旱厕问题数
    private Integer ldlfwt;//乱堆乱放问题数
    private Integer ltlhwt;//乱贴乱画问题数
    private Integer sdljwt;//私搭乱建问题数
    private Integer jflmwt;//街坊路面问题数
    private Integer qtwt;//其他问题数
    private Integer yzg;//已整改数
    private Integer wzg;//未整改数
    private BigDecimal zgl;//整改率
    private Integer gcwkf;//公厕未开放数

    private String zwtszhen;//总问题数最多镇
    private String jbjsszhen;//接诉即办问题数最多镇
    private String ljwtzhen;//垃圾问题数最多镇
    private String wswtzhen;//污水问题数最多镇
    private String gcwtzhen;//公厕问题数最多镇
    private String hcwtzhen;//旱厕问题数最多镇
    private String ldlfwtzhen;//乱堆乱放问题数最多镇
    private String ltlhwtzhen;//乱贴乱画问题数最多镇
    private String sdljwtzhen;//私搭乱建问题数最多镇
    private String jflmwtzhen;//街坊路面问题数最多镇
    private String qtwtzhen;//其他问题数最多镇

    private Integer zzwts;//镇总问题数
    private Integer zjbjss;//镇接诉即办问题数
    private Integer zljwt;//镇垃圾问题数
    private Integer zwswt;//镇污水问题数
    private Integer zgcwt;//镇公厕问题数
    private Integer zhcwt;//镇旱厕问题数
    private Integer zldlfwt;//镇乱堆乱放问题数
    private Integer zltlhwt;//镇乱贴乱画问题数
    private Integer zsdljwt;//镇私搭乱建问题数
    private Integer zjflmwt;//镇街坊路面问题数
    private Integer zqtwt;//镇其他问题数

    private BigDecimal ljwtzb;//垃圾问题数占比
    private BigDecimal wswtzb;//污水问题数占比
    private BigDecimal gcwtzb;//公厕问题数占比
    private BigDecimal ldlfwtzb;//乱堆乱放问题数占比
    private BigDecimal ltlhwtzb;//乱贴乱画问题数占比
    private BigDecimal sdljwtzb;//私搭乱建问题数占比
    private BigDecimal qtwtzb;//其他问题数占比
    private BigDecimal zjbjszb;//接诉即办问题数占比
    private BigDecimal hcwtzb;//旱厕问题数占比
    private BigDecimal jflmwtzb;//街坊路面问题数占比

    public BigDecimal getZjbjszb() {
        return getZwts() == 0 ? BigDecimal.ONE:(getJbjss() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getJbjss()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getHcwtzb() {
        return getZwts() == 0 ? BigDecimal.ONE:(getHcwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getHcwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getJflmwtzb() {
        return getZwts() == 0 ? BigDecimal.ONE:(getJflmwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getJflmwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public Integer getGcwkf() {
        return gcwkf == null ? 0: gcwkf;
    }

    public Integer getYzg() {
        return yzg == null ? 0 : yzg;
    }

    public Integer getWzg() {
        return wzg == null ? 0 : wzg;
    }

    public BigDecimal getZgl() {
        return getZwts() == 0 ? BigDecimal.ONE:(getYzg() == 0 ? BigDecimal.ZERO :
        BigDecimal.valueOf(getYzg()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getLjwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getLjwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getLjwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getWswtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getWswt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getWswt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getGcwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getGcwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getGcwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getLdlfwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getLdlfwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getLdlfwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getLtlhwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getLtlhwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getLtlhwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getSdljwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getSdljwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getSdljwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public BigDecimal getQtwtzb() {
        return getZwts() == 0 ? BigDecimal.ZERO : (getQtwt() == 0 ? BigDecimal.ZERO :
                BigDecimal.valueOf(getQtwt()).divide(BigDecimal.valueOf(getZwts()),4,RoundingMode.HALF_UP));
    }

    public Integer getZwts() {
        return zwts  == null ? 0 : zwts;
    }

    public Integer getLjwt() {
        return ljwt == null ? 0 : ljwt;
    }

    public Integer getWswt() {
        return wswt == null ? 0 : wswt;
    }

    public Integer getGcwt() {
        return gcwt  == null ? 0 : gcwt;
    }

    public Integer getLdlfwt() {
        return ldlfwt == null ? 0 : ldlfwt;
    }

    public Integer getLtlhwt() {
        return ltlhwt == null ? 0 : ltlhwt;
    }

    public Integer getSdljwt() {
        return sdljwt == null ? 0 : sdljwt;
    }

    public Integer getQtwt() {
        return qtwt == null ? 0 : qtwt;
    }

    public Integer getHcwt() {
        return hcwt == null ? 0 : hcwt;
    }

    public Integer getJbjss() {
        return jbjss == null ? 0 : jbjss;
    }

    public Integer getJflmwt() {
        return jflmwt == null ? 0 : jflmwt;
    }
}
